package com.coolingme.general;

import java.util.ArrayList;
import java.util.List;

/**
 * 结构对象（ObjectStruture）∶该类内部维护了元素集合，并提供方法接受访问者对该集合
 * 所有元素进行操作。
 *
 * @author wangyue
 * @date 2020-10-09 23:07
 */
public class ObjectStructure {

    private List<IElement> list = new ArrayList<>();

    {
        this.list.add(new ConcreteElementA());
        this.list.add(new ConcreteElementB());
    }

    public void accept(IVisitor visitor) {
        for (IElement element : list) {
            element.accept(visitor);
        }
    }

}
